//package test1;
//
//import java.util.Arrays;
//
//public class MyArrayList<E> {
//    private Object[] elem;
//    private int usedSize;
//    private static int capacity = 10;
//
//    private E e;
//
//    public MyArrayList() {
//        this.elem = new Object[capacity];
//        this.e = e;
//    }
//
//    public boolean isFull() {
//        if (this.usedSize == capacity) {
//            return true;
//        }
//        return false;
//    }
//
//    public void add(int pos, E data) {
//        if (pos < 0 || pos > this.usedSize) {
//            System.out.println("pos位置不合法");
//            return;
//        }
//        if (isFull()) {
//            this.elem = Arrays.copyOf(this.elem, 2 * capacity);
//            capacity *= 2;
//        }
//        for (int i = this.usedSize - 1; i >= pos; i--) {
//            this.elem[i + 1] = this.elem[i];
//        }
//        this.elem[pos] = data;
//        this.usedSize++;
//    }
//
//    public void display() {
//        for (int i = 0; i < this.usedSize; i++) {
//            System.out.print(this.elem[i] + " ");
//            System.out.println();
//        }
//        System.out.println();
//    }
//
//    public boolean isEmpty() {
//        if (this.usedSize == 0) {
//            return true;
//        }
//        return false;
//    }
//
//    public boolean contains(E toFind) {
//        if (isEmpty()) {
//            return false;
//        }
//        for (int i = 0; i < this.usedSize; i++) {
//            if (this.elem[i] == toFind) {
//                return true;
//            }
//        }
//        return false;
//    }
//
//    public int search(E toFind) {
//        if (isEmpty()) {
//            return -1;
//        }
//        for (int i = 0; i < this.usedSize; i++) {
//            if (this.elem[i] == toFind) {
//                return i;
//            }
//        }
//        return -1;
//    }
//
//    public Object getPos(int pos) {
//        if (isEmpty()) {
//            throw new RuntimeException("顺序表为空！");
//        }
//        if (pos < 0 || pos >= this.usedSize) {
//            throw new RuntimeException("pos不合法");
//        }
//        return this.elem[pos];
//    }
//
//    public int size() {
//        return this.usedSize;
//    }
//
//    public void setPos(int pos, int value) {
//        if (pos < 0 || pos >= this.usedSize) {
//            System.out.println("pos位置不合法！");
//            return;
//        }
//        this.elem[pos] = value;
//    }
//
//    public void remove(E toRemove) {
//        if (isEmpty()) {
//            return;
//        }
//
//        int index = search(toRemove);
//
//        if (index == -1) {
//            System.out.println("没有你要删除的数字！");
//        }
//
//        for (int i = index; i < this.usedSize - 1; i++) {
//            this.elem[i] = this.elem[i + 1];
//        }
//        this.usedSize--;
//    }
//
//    public void clear() {
//        for (int i = 0; i < this.usedSize; i++) {
//            this.elem[i] = 0;
//        }
//        this.usedSize = 0;
//    }
//
//
//    public static void main(String[] args) {
//        MyArrayList<Book> books = new MyArrayList<Book>();
//        books.add(0, new Book("红楼梦", "曹雪芹", 18));
//        books.add(2, new Person("lisi", "lll"));
//
////        Book book1 = new Book("红楼梦", "曹雪芹", 18);
////        for (int i = 0; i < 10; i++) {
////            if (i == 0) {
////                books.add(i, book1);
////            } else {
////                books.add(i, new Book("三国演义", "罗贯中", 15));
////            }
////        }
////        books.display();
////        Person person = (Person) books.getPos(0);
////        MyArrayList myArrayList = new MyArrayList();
////        myArrayList.add(0, 1);
////        myArrayList.add(1, 2);
////        myArrayList.add(2, 3);
////        myArrayList.add(3, 4);
////        System.out.println(myArrayList.size());
////        myArrayList.display();
////        System.out.println(myArrayList.contains(3));
////        System.out.println(myArrayList.contains(2));
////        System.out.println(myArrayList.search(5));
////        System.out.println(myArrayList.search(2));
////        System.out.println(myArrayList.getPos(0));
////        System.out.println(myArrayList.usedSize);
////        myArrayList.display();
////        myArrayList.remove(1);
////        myArrayList.remove(2);
////        myArrayList.display();
////        myArrayList.remove(4);
////        myArrayList.display();
////        myArrayList.clear();
////        System.out.println("==============");
////        myArrayList.display();
//    }
//}